// 数组类型：数组是容器类型，可以约束数组中元素的类型
let arr: number[] = [1, 2, 3];
// 使用泛型方式申明数组类型
let arr1: Array<number> = [1, 2, 3];

arr.push(4) 
// arr.push('5') // 出现错误：字符串不能赋值给数值

// 使用联合类型申明数组类型
let arr2: (string | number)[] = [1, '2', 3];

// 通过接口申明数组类型
interface Arr {
    [index: number]: string; // 索引签名
}

let arr3: Arr = ['1', '2', '3'];
arr3.push(4); // 会引发 TS 检查错误

